;--------------------------------------------------------
; File Created by SDCC : free open source ANSI-C Compiler
; Version 2.7.0 #4818 (May 31 2007)
; This file generated Mon Apr 30 18:27:19 2012
;--------------------------------------------------------
	.module routing
	.optsdcc -mmcs51 --model-large
	
;--------------------------------------------------------
; Public variables in this module
;--------------------------------------------------------
	.globl _IRCON2_P2IF
	.globl _IRCON2_UTX0IF
	.globl _IRCON2_UTX1IF
	.globl _IRCON2_P1IF
	.globl _IRCON2_WDTIF
	.globl _CY
	.globl _AC
	.globl _F0
	.globl _RS1
	.globl _RS0
	.globl _OV
	.globl _F1
	.globl _P
	.globl _IRCON_DMAIF
	.globl _IRCON_T1IF
	.globl _IRCON_T2IF
	.globl _IRCON_T3IF
	.globl _IRCON_T4IF
	.globl _IRCON_P0IF
	.globl _IRCON_STIF
	.globl _IEN1_DMAIE
	.globl _IEN1_T1IE
	.globl _IEN1_T2IE
	.globl _IEN1_T3IE
	.globl _IEN1_T4IE
	.globl _IEN1_P0IE
	.globl _IEN0_RFERRIE
	.globl _IEN0_ADCIE
	.globl _IEN0_URX0IE
	.globl _IEN0_URX1IE
	.globl _IEN0_ENCIE
	.globl _IEN0_STIE
	.globl _IEN0_EA
	.globl _EA
	.globl _P2_4
	.globl _P2_3
	.globl _P2_2
	.globl _P2_1
	.globl _P2_0
	.globl _S0CON_ENCIF_0
	.globl _S0CON_ENCIF_1
	.globl _P1_7
	.globl _P1_6
	.globl _P1_5
	.globl _P1_4
	.globl _P1_3
	.globl _P1_2
	.globl _P1_1
	.globl _P1_0
	.globl _TCON_IT0
	.globl _TCON_RFERRIF
	.globl _TCON_IT1
	.globl _TCON_URX0IF
	.globl _TCON_ADCIF
	.globl _TCON_URX1IF
	.globl _P0_0
	.globl _P0_1
	.globl _P0_2
	.globl _P0_3
	.globl _P0_4
	.globl _P0_5
	.globl _P0_6
	.globl _P0_7
	.globl _P2DIR
	.globl _P1DIR
	.globl _P0DIR
	.globl _U1GCR
	.globl _U1UCR
	.globl _U1BAUD
	.globl _U1BUF
	.globl _U1CSR
	.globl _P2INP
	.globl _P1INP
	.globl _P2SEL
	.globl _P1SEL
	.globl _P0SEL
	.globl _ADCCFG
	.globl _PERCFG
	.globl _B
	.globl _T4CC1
	.globl _T4CCTL1
	.globl _T4CC0
	.globl _T4CCTL0
	.globl _T4CTL
	.globl _T4CNT
	.globl _RFIF
	.globl _IRCON2
	.globl _T1CCTL2
	.globl _T1CCTL1
	.globl _T1CCTL0
	.globl _T1CTL
	.globl _T1CNTH
	.globl _T1CNTL
	.globl _RFST
	.globl _ACC
	.globl _T1CC2H
	.globl _T1CC2L
	.globl _T1CC1H
	.globl _T1CC1L
	.globl _T1CC0H
	.globl _T1CC0L
	.globl _RFD
	.globl _TIMIF
	.globl _DMAREQ
	.globl _DMAARM
	.globl _DMA0CFGH
	.globl _DMA0CFGL
	.globl _DMA1CFGH
	.globl _DMA1CFGL
	.globl _DMAIRQ
	.globl _PSW
	.globl _T3CC1
	.globl _T3CCTL1
	.globl _T3CC0
	.globl _T3CCTL0
	.globl _T3CTL
	.globl _T3CNT
	.globl _WDCTL
	.globl _T2CON
	.globl _MEMCTR
	.globl _CLKCON
	.globl _U0GCR
	.globl _U0UCR
	.globl _T2CNF
	.globl _U0BAUD
	.globl _U0BUF
	.globl _IRCON
	.globl _SLEEP
	.globl _RNDH
	.globl _RNDL
	.globl _ADCH
	.globl _ADCL
	.globl _IP1
	.globl _IEN1
	.globl _RCCTL
	.globl _ADCCON3
	.globl _ADCCON2
	.globl _ADCCON1
	.globl _ENCCS
	.globl _ENCDO
	.globl _ENCDI
	.globl _FWDATA
	.globl _FCTL
	.globl _FADDRH
	.globl _FADDRL
	.globl _FWT
	.globl _IP0
	.globl _IEN0
	.globl _IE
	.globl _T2THD
	.globl _T2TLD
	.globl _T2CAPHPH
	.globl _T2CAPLPL
	.globl _T2OF2
	.globl _T2OF1
	.globl _T2OF0
	.globl _P2
	.globl _T2PEROF2
	.globl _T2PEROF1
	.globl _T2PEROF0
	.globl _S1CON
	.globl _IEN2
	.globl _HSRC
	.globl _S0CON
	.globl _ST2
	.globl _ST1
	.globl _ST0
	.globl _T2CMP
	.globl __XPAGE
	.globl _DPS
	.globl _RFIM
	.globl _P1
	.globl _P0INP
	.globl _P1IEN
	.globl _PICTL
	.globl _P2IFG
	.globl _P1IFG
	.globl _P0IFG
	.globl _TCON
	.globl _PCON
	.globl _U0CSR
	.globl _DPH1
	.globl _DPL1
	.globl _DPH0
	.globl _DPL0
	.globl _SP
	.globl _P0
	.globl _n_neigh_buffer
	.globl _table_lock
	.globl _neighbor_info
	.globl _neighbor_table
	.globl _RFD_SHADOW
	.globl _RFSTATUS
	.globl _CHIPID
	.globl _CHVER
	.globl _FSMTC1
	.globl _RXFIFOCNT
	.globl _IOCFG3
	.globl _IOCFG2
	.globl _IOCFG1
	.globl _IOCFG0
	.globl _SHORTADDRL
	.globl _SHORTADDRH
	.globl _PANIDL
	.globl _PANIDH
	.globl _IEEE_ADDR7
	.globl _IEEE_ADDR6
	.globl _IEEE_ADDR5
	.globl _IEEE_ADDR4
	.globl _IEEE_ADDR3
	.globl _IEEE_ADDR2
	.globl _IEEE_ADDR1
	.globl _IEEE_ADDR0
	.globl _DACTSTL
	.globl _DACTSTH
	.globl _ADCTSTL
	.globl _ADCTSTH
	.globl _FSMSTATE
	.globl _AGCCTRLL
	.globl _AGCCTRLH
	.globl _MANORL
	.globl _MANORH
	.globl _MANANDL
	.globl _MANANDH
	.globl _FSMTCL
	.globl _FSMTCH
	.globl _RFPWR
	.globl _CSPT
	.globl _CSPCTRL
	.globl _CSPZ
	.globl _CSPY
	.globl _CSPX
	.globl _FSCTRLL
	.globl _FSCTRLH
	.globl _RXCTRL1L
	.globl _RXCTRL1H
	.globl _RXCTRL0L
	.globl _RXCTRL0H
	.globl _TXCTRLL
	.globl _TXCTRLH
	.globl _SYNCWORDL
	.globl _SYNCWORDH
	.globl _RSSIL
	.globl _RSSIH
	.globl _MDMCTRL1L
	.globl _MDMCTRL1H
	.globl _MDMCTRL0L
	.globl _MDMCTRL0H
	.globl _routing_init
	.globl _get_neighbour_info
	.globl _free_table_semaphore
	.globl _neigh_buffer_get
	.globl _neigh_buffer_free
	.globl _update_neighbour_table
	.globl _update_tables_ttl
	.globl _check_neighbour_table
	.globl _check_tables_status
	.globl _print_table_information
;--------------------------------------------------------
; special function registers
;--------------------------------------------------------
	.area RSEG    (DATA)
_P0	=	0x0080
_SP	=	0x0081
_DPL0	=	0x0082
_DPH0	=	0x0083
_DPL1	=	0x0084
_DPH1	=	0x0085
_U0CSR	=	0x0086
_PCON	=	0x0087
_TCON	=	0x0088
_P0IFG	=	0x0089
_P1IFG	=	0x008a
_P2IFG	=	0x008b
_PICTL	=	0x008c
_P1IEN	=	0x008d
_P0INP	=	0x008f
_P1	=	0x0090
_RFIM	=	0x0091
_DPS	=	0x0092
__XPAGE	=	0x0093
_T2CMP	=	0x0094
_ST0	=	0x0095
_ST1	=	0x0096
_ST2	=	0x0097
_S0CON	=	0x0098
_HSRC	=	0x0099
_IEN2	=	0x009a
_S1CON	=	0x009b
_T2PEROF0	=	0x009c
_T2PEROF1	=	0x009d
_T2PEROF2	=	0x009e
_P2	=	0x00a0
_T2OF0	=	0x00a1
_T2OF1	=	0x00a2
_T2OF2	=	0x00a3
_T2CAPLPL	=	0x00a4
_T2CAPHPH	=	0x00a5
_T2TLD	=	0x00a6
_T2THD	=	0x00a7
_IE	=	0x00a8
_IEN0	=	0x00a8
_IP0	=	0x00a9
_FWT	=	0x00ab
_FADDRL	=	0x00ac
_FADDRH	=	0x00ad
_FCTL	=	0x00ae
_FWDATA	=	0x00af
_ENCDI	=	0x00b1
_ENCDO	=	0x00b2
_ENCCS	=	0x00b3
_ADCCON1	=	0x00b4
_ADCCON2	=	0x00b5
_ADCCON3	=	0x00b6
_RCCTL	=	0x00b7
_IEN1	=	0x00b8
_IP1	=	0x00b9
_ADCL	=	0x00ba
_ADCH	=	0x00bb
_RNDL	=	0x00bc
_RNDH	=	0x00bd
_SLEEP	=	0x00be
_IRCON	=	0x00c0
_U0BUF	=	0x00c1
_U0BAUD	=	0x00c2
_T2CNF	=	0x00c3
_U0UCR	=	0x00c4
_U0GCR	=	0x00c5
_CLKCON	=	0x00c6
_MEMCTR	=	0x00c7
_T2CON	=	0x00c8
_WDCTL	=	0x00c9
_T3CNT	=	0x00ca
_T3CTL	=	0x00cb
_T3CCTL0	=	0x00cc
_T3CC0	=	0x00cd
_T3CCTL1	=	0x00ce
_T3CC1	=	0x00cf
_PSW	=	0x00d0
_DMAIRQ	=	0x00d1
_DMA1CFGL	=	0x00d2
_DMA1CFGH	=	0x00d3
_DMA0CFGL	=	0x00d4
_DMA0CFGH	=	0x00d5
_DMAARM	=	0x00d6
_DMAREQ	=	0x00d7
_TIMIF	=	0x00d8
_RFD	=	0x00d9
_T1CC0L	=	0x00da
_T1CC0H	=	0x00db
_T1CC1L	=	0x00dc
_T1CC1H	=	0x00dd
_T1CC2L	=	0x00de
_T1CC2H	=	0x00df
_ACC	=	0x00e0
_RFST	=	0x00e1
_T1CNTL	=	0x00e2
_T1CNTH	=	0x00e3
_T1CTL	=	0x00e4
_T1CCTL0	=	0x00e5
_T1CCTL1	=	0x00e6
_T1CCTL2	=	0x00e7
_IRCON2	=	0x00e8
_RFIF	=	0x00e9
_T4CNT	=	0x00ea
_T4CTL	=	0x00eb
_T4CCTL0	=	0x00ec
_T4CC0	=	0x00ed
_T4CCTL1	=	0x00ee
_T4CC1	=	0x00ef
_B	=	0x00f0
_PERCFG	=	0x00f1
_ADCCFG	=	0x00f2
_P0SEL	=	0x00f3
_P1SEL	=	0x00f4
_P2SEL	=	0x00f5
_P1INP	=	0x00f6
_P2INP	=	0x00f7
_U1CSR	=	0x00f8
_U1BUF	=	0x00f9
_U1BAUD	=	0x00fa
_U1UCR	=	0x00fb
_U1GCR	=	0x00fc
_P0DIR	=	0x00fd
_P1DIR	=	0x00fe
_P2DIR	=	0x00ff
;--------------------------------------------------------
; special function bits
;--------------------------------------------------------
	.area RSEG    (DATA)
_P0_7	=	0x0087
_P0_6	=	0x0086
_P0_5	=	0x0085
_P0_4	=	0x0084
_P0_3	=	0x0083
_P0_2	=	0x0082
_P0_1	=	0x0081
_P0_0	=	0x0080
_TCON_URX1IF	=	0x008f
_TCON_ADCIF	=	0x008d
_TCON_URX0IF	=	0x008b
_TCON_IT1	=	0x008a
_TCON_RFERRIF	=	0x0089
_TCON_IT0	=	0x0088
_P1_0	=	0x0090
_P1_1	=	0x0091
_P1_2	=	0x0092
_P1_3	=	0x0093
_P1_4	=	0x0094
_P1_5	=	0x0095
_P1_6	=	0x0096
_P1_7	=	0x0097
_S0CON_ENCIF_1	=	0x0099
_S0CON_ENCIF_0	=	0x0098
_P2_0	=	0x00a0
_P2_1	=	0x00a1
_P2_2	=	0x00a2
_P2_3	=	0x00a3
_P2_4	=	0x00a4
_EA	=	0x00af
_IEN0_EA	=	0x00af
_IEN0_STIE	=	0x00ad
_IEN0_ENCIE	=	0x00ac
_IEN0_URX1IE	=	0x00ab
_IEN0_URX0IE	=	0x00aa
_IEN0_ADCIE	=	0x00a9
_IEN0_RFERRIE	=	0x00a8
_IEN1_P0IE	=	0x00bd
_IEN1_T4IE	=	0x00bc
_IEN1_T3IE	=	0x00bb
_IEN1_T2IE	=	0x00ba
_IEN1_T1IE	=	0x00b9
_IEN1_DMAIE	=	0x00b8
_IRCON_STIF	=	0x00c7
_IRCON_P0IF	=	0x00c5
_IRCON_T4IF	=	0x00c4
_IRCON_T3IF	=	0x00c3
_IRCON_T2IF	=	0x00c2
_IRCON_T1IF	=	0x00c1
_IRCON_DMAIF	=	0x00c0
_P	=	0x00d0
_F1	=	0x00d1
_OV	=	0x00d2
_RS0	=	0x00d3
_RS1	=	0x00d4
_F0	=	0x00d5
_AC	=	0x00d6
_CY	=	0x00d7
_IRCON2_WDTIF	=	0x00ec
_IRCON2_P1IF	=	0x00eb
_IRCON2_UTX1IF	=	0x00ea
_IRCON2_UTX0IF	=	0x00e9
_IRCON2_P2IF	=	0x00e8
;--------------------------------------------------------
; overlayable register banks
;--------------------------------------------------------
	.area REG_BANK_0	(REL,OVR,DATA)
	.ds 8
;--------------------------------------------------------
; internal ram data
;--------------------------------------------------------
	.area DSEG    (DATA)
;--------------------------------------------------------
; overlayable items in internal ram 
;--------------------------------------------------------
	.area OSEG    (OVR,DATA)
;--------------------------------------------------------
; indirectly addressable internal ram data
;--------------------------------------------------------
	.area ISEG    (DATA)
;--------------------------------------------------------
; absolute internal ram data
;--------------------------------------------------------
	.area IABS    (ABS,DATA)
	.area IABS    (ABS,DATA)
;--------------------------------------------------------
; bit data
;--------------------------------------------------------
	.area BSEG    (BIT)
;--------------------------------------------------------
; paged external ram data
;--------------------------------------------------------
	.area PSEG    (PAG,XDATA)
;--------------------------------------------------------
; external ram data
;--------------------------------------------------------
	.area XSEG    (XDATA)
_MDMCTRL0H	=	0xdf02
_MDMCTRL0L	=	0xdf03
_MDMCTRL1H	=	0xdf04
_MDMCTRL1L	=	0xdf05
_RSSIH	=	0xdf06
_RSSIL	=	0xdf07
_SYNCWORDH	=	0xdf08
_SYNCWORDL	=	0xdf09
_TXCTRLH	=	0xdf0a
_TXCTRLL	=	0xdf0b
_RXCTRL0H	=	0xdf0c
_RXCTRL0L	=	0xdf0d
_RXCTRL1H	=	0xdf0e
_RXCTRL1L	=	0xdf0f
_FSCTRLH	=	0xdf10
_FSCTRLL	=	0xdf11
_CSPX	=	0xdf12
_CSPY	=	0xdf13
_CSPZ	=	0xdf14
_CSPCTRL	=	0xdf15
_CSPT	=	0xdf16
_RFPWR	=	0xdf17
_FSMTCH	=	0xdf20
_FSMTCL	=	0xdf21
_MANANDH	=	0xdf22
_MANANDL	=	0xdf23
_MANORH	=	0xdf24
_MANORL	=	0xdf25
_AGCCTRLH	=	0xdf26
_AGCCTRLL	=	0xdf27
_FSMSTATE	=	0xdf39
_ADCTSTH	=	0xdf3a
_ADCTSTL	=	0xdf3b
_DACTSTH	=	0xdf3c
_DACTSTL	=	0xdf3d
_IEEE_ADDR0	=	0xdf43
_IEEE_ADDR1	=	0xdf44
_IEEE_ADDR2	=	0xdf45
_IEEE_ADDR3	=	0xdf46
_IEEE_ADDR4	=	0xdf47
_IEEE_ADDR5	=	0xdf48
_IEEE_ADDR6	=	0xdf49
_IEEE_ADDR7	=	0xdf4a
_PANIDH	=	0xdf4b
_PANIDL	=	0xdf4c
_SHORTADDRH	=	0xdf4d
_SHORTADDRL	=	0xdf4e
_IOCFG0	=	0xdf4f
_IOCFG1	=	0xdf50
_IOCFG2	=	0xdf51
_IOCFG3	=	0xdf52
_RXFIFOCNT	=	0xdf53
_FSMTC1	=	0xdf54
_CHVER	=	0xdf60
_CHIPID	=	0xdf61
_RFSTATUS	=	0xdf62
_RFD_SHADOW	=	0xdfd9
_neighbor_table::
	.ds 62
_neighbor_info::
	.ds 3
;--------------------------------------------------------
; absolute external ram data
;--------------------------------------------------------
	.area XABS    (ABS,XDATA)
;--------------------------------------------------------
; external initialized ram data
;--------------------------------------------------------
	.area XISEG   (XDATA)
_table_lock::
	.ds 3
_n_neigh_buffer::
	.ds 1
	.area HOME    (CODE)
	.area GSINIT0 (CODE)
	.area GSINIT1 (CODE)
	.area GSINIT2 (CODE)
	.area GSINIT3 (CODE)
	.area GSINIT4 (CODE)
	.area GSINIT5 (CODE)
	.area GSINIT  (CODE)
	.area GSFINAL (CODE)
	.area CSEG    (CODE)
;--------------------------------------------------------
; global & static initialisations
;--------------------------------------------------------
	.area HOME    (CODE)
	.area GSINIT  (CODE)
	.area GSFINAL (CODE)
	.area GSINIT  (CODE)
;--------------------------------------------------------
; Home
;--------------------------------------------------------
	.area HOME    (CODE)
	.area HOME    (CODE)
;--------------------------------------------------------
; code
;--------------------------------------------------------
	.area CSEG    (CODE)
;------------------------------------------------------------
;Allocation info for local variables in function 'routing_init'
;------------------------------------------------------------
;b                         Allocated to stack - offset 1
;i                         Allocated to registers r2 
;------------------------------------------------------------
;	../../Common/routing.c:71: void routing_init(void)
;	-----------------------------------------
;	 function routing_init
;	-----------------------------------------
_routing_init:
	ar2 = 0x02
	ar3 = 0x03
	ar4 = 0x04
	ar5 = 0x05
	ar6 = 0x06
	ar7 = 0x07
	ar0 = 0x00
	ar1 = 0x01
	push	_bp
	mov	_bp,sp
	inc	sp
	inc	sp
	inc	sp
;	../../Common/routing.c:74: vSemaphoreCreateBinary( table_lock );
	clr	a
	push	acc
	mov	dpl,#0x01
	lcall	_xQueueCreate
	mov	r2,dpl
	mov	r3,dph
	mov	r4,b
	dec	sp
	mov	dptr,#_table_lock
	mov	a,r2
	movx	@dptr,a
	inc	dptr
	mov	a,r3
	movx	@dptr,a
	inc	dptr
	mov	a,r4
	movx	@dptr,a
	cjne	r2,#0x00,00130$
	cjne	r3,#0x00,00130$
	cjne	r4,#0x00,00130$
	sjmp	00102$
00130$:
	clr	a
	push	acc
	push	acc
	clr	a
	push	acc
	push	acc
	push	acc
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	lcall	_xQueueSend
	mov	a,sp
	add	a,#0xfb
	mov	sp,a
00102$:
;	../../Common/routing.c:75: if(table_lock != NULL)
	mov	dptr,#_table_lock
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r4,a
	cjne	r2,#0x00,00131$
	cjne	r3,#0x00,00131$
	cjne	r4,#0x00,00131$
	ljmp	00119$
00131$:
;	../../Common/routing.c:83: neighbor_table.count=0;
	mov	dptr,#_neighbor_table
;	../../Common/routing.c:84: neighbor_table.child_count=0;
	clr	a
	movx	@dptr,a
	mov	dptr,#(_neighbor_table + 0x0001)
	movx	@dptr,a
;	../../Common/routing.c:85: neighbor_info = xQueueCreate( MAX_NEIGHBOR_COUNT, sizeof( neighbor_info_t * ) );
	mov	a,#0x03
	push	acc
	mov	dpl,#0x14
	lcall	_xQueueCreate
	mov	r2,dpl
	mov	r3,dph
	mov	r4,b
	dec	sp
	mov	dptr,#_neighbor_info
	mov	a,r2
	movx	@dptr,a
	inc	dptr
	mov	a,r3
	movx	@dptr,a
	inc	dptr
	mov	a,r4
	movx	@dptr,a
;	../../Common/routing.c:89: i = 0;
	mov	r2,#0x00
;	../../Common/routing.c:90: while (i < MAX_NEIGHBOR_COUNT)
00110$:
	cjne	r2,#0x14,00132$
00132$:
	jc	00133$
	ljmp	00128$
00133$:
;	../../Common/routing.c:92: b = pvPortMalloc(sizeof(neighbor_info_t));
	mov	dptr,#0x000F
	push	ar2
	lcall	_pvPortMalloc
	mov	r3,dpl
	mov	r4,dph
	mov	r5,b
	pop	ar2
	mov	r0,_bp
	inc	r0
	mov	@r0,ar3
	inc	r0
	mov	@r0,ar4
	inc	r0
	mov	@r0,ar5
;	../../Common/routing.c:93: if (b)
	mov	a,r3
	orl	a,r4
	orl	a,r5
	jz	00106$
;	../../Common/routing.c:95: memset(b, 0, sizeof(neighbor_info_t));
	push	ar2
	push	ar2
	mov	a,#0x0F
	push	acc
	clr	a
	push	acc
	clr	a
	push	acc
	mov	dpl,r3
	mov	dph,r4
	mov	b,r5
	lcall	_memset
	dec	sp
	dec	sp
	dec	sp
	pop	ar2
;	../../Common/routing.c:96: n_neigh_buffer++;
	mov	dptr,#_n_neigh_buffer
	movx	a,@dptr
	mov	dptr,#_n_neigh_buffer
	inc	a
	movx	@dptr,a
;	../../Common/routing.c:97: if (xQueueSend( neighbor_info, ( void * ) &b,(portTickType) 0 ) == pdFALSE)
	mov	r3,_bp
	inc	r3
	mov	r4,#0x00
	mov	r5,#0x40
	mov	dptr,#_neighbor_info
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
	inc	dptr
	movx	a,@dptr
	mov	r2,a
	push	ar2
	clr	a
	push	acc
	push	acc
	push	ar3
	push	ar4
	push	ar5
	mov	dpl,r6
	mov	dph,r7
	mov	b,r2
	lcall	_xQueueSend
	mov	a,sp
	add	a,#0xfb
	mov	sp,a
	pop	ar2
	pop	ar2
	sjmp	00107$
00106$:
;	../../Common/routing.c:109: i = MAX_NEIGHBOR_COUNT;  
	mov	r2,#0x14
00107$:
;	../../Common/routing.c:111: if (i++ >= MIN_NEIGHBOR_INFO_COUNT) i = MAX_NEIGHBOR_COUNT;
	mov	ar3,r2
	inc	r2
	cjne	r3,#0x0F,00135$
00135$:
	jnc	00136$
	ljmp	00110$
00136$:
	mov	r2,#0x14
	ljmp	00110$
;	../../Common/routing.c:114: for(i=0; i < MAX_ROUTE_INFO_COUNT ; i++)
00128$:
	mov	r2,#0x00
00115$:
	cjne	r2,#0x0F,00137$
00137$:
	jnc	00119$
;	../../Common/routing.c:116: neighbor_table.neighbor_info[i]=0;
	mov	a,r2
	mov	b,#0x03
	mul	ab
	add	a,#(_neighbor_table + 0x0002)
	mov	dpl,a
	clr	a
	addc	a,#((_neighbor_table + 0x0002) >> 8)
	mov	dph,a
	clr	a
	movx	@dptr,a
;	../../Common/routing.c:114: for(i=0; i < MAX_ROUTE_INFO_COUNT ; i++)
	inc	r2
	sjmp	00115$
00119$:
	mov	sp,_bp
	pop	_bp
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'get_neighbour_info'
;------------------------------------------------------------
;------------------------------------------------------------
;	../../Common/routing.c:159: neighbor_table_t* get_neighbour_info(void)
;	-----------------------------------------
;	 function get_neighbour_info
;	-----------------------------------------
_get_neighbour_info:
;	../../Common/routing.c:161: if( xSemaphoreTake( table_lock, ( portTickType ) 10 ) == pdTRUE )
	mov	dptr,#_table_lock
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r4,a
	mov	a,#0x0A
	push	acc
	clr	a
	push	acc
	clr	a
	push	acc
	push	acc
	push	acc
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	lcall	_xQueueReceive
	mov	r2,dpl
	mov	a,sp
	add	a,#0xfb
	mov	sp,a
	cjne	r2,#0x01,00102$
;	../../Common/routing.c:163: return &(neighbor_table);
	mov	dptr,#_neighbor_table
	mov	b,#0x00
	ret
00102$:
;	../../Common/routing.c:165: return 0;
	mov	dptr,#0x0000
	mov	b,#0x00
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'free_table_semaphore'
;------------------------------------------------------------
;------------------------------------------------------------
;	../../Common/routing.c:168: void free_table_semaphore(void)
;	-----------------------------------------
;	 function free_table_semaphore
;	-----------------------------------------
_free_table_semaphore:
;	../../Common/routing.c:170: xSemaphoreGive( table_lock ); /*free lock*/
	mov	dptr,#_table_lock
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r4,a
	clr	a
	push	acc
	push	acc
	clr	a
	push	acc
	push	acc
	push	acc
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	lcall	_xQueueSend
	mov	a,sp
	add	a,#0xfb
	mov	sp,a
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'neigh_buffer_get'
;------------------------------------------------------------
;blocktime                 Allocated to stack - offset 1
;b                         Allocated to stack - offset 3
;sloc0                     Allocated to stack - offset 6
;------------------------------------------------------------
;	../../Common/routing.c:180: neighbor_info_t* neigh_buffer_get( portTickType blocktime )
;	-----------------------------------------
;	 function neigh_buffer_get
;	-----------------------------------------
_neigh_buffer_get:
	push	_bp
	mov	_bp,sp
	push	dpl
	push	dph
	mov	a,sp
	add	a,#0x07
	mov	sp,a
;	../../Common/routing.c:184: if (xQueueReceive( neighbor_info, &( b ), 0) == pdTRUE)
	mov	a,_bp
	add	a,#0x03
	mov	r4,a
	mov	r5,#0x00
	mov	r6,#0x40
	mov	dptr,#_neighbor_info
	movx	a,@dptr
	mov	r7,a
	inc	dptr
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
	clr	a
	push	acc
	push	acc
	push	ar4
	push	ar5
	push	ar6
	mov	dpl,r7
	mov	dph,r2
	mov	b,r3
	lcall	_xQueueReceive
	mov	r2,dpl
	mov	a,sp
	add	a,#0xfb
	mov	sp,a
	cjne	r2,#0x01,00109$
;	../../Common/routing.c:186: return b;
	mov	r0,_bp
	inc	r0
	inc	r0
	inc	r0
	mov	dpl,@r0
	inc	r0
	mov	dph,@r0
	inc	r0
	mov	b,@r0
	ljmp	00111$
00109$:
;	../../Common/routing.c:188: else if (n_neigh_buffer < MAX_NEIGHBOR_COUNT)
	mov	dptr,#_n_neigh_buffer
	movx	a,@dptr
	mov	r2,a
	cjne	r2,#0x14,00119$
00119$:
	jnc	00106$
;	../../Common/routing.c:190: b = pvPortMalloc(sizeof(neighbor_info_t));
	mov	dptr,#0x000F
	lcall	_pvPortMalloc
	mov	r2,dpl
	mov	r3,dph
	mov	r4,b
;	../../Common/routing.c:191: if (b)
	mov	a,r2
	orl	a,r3
	orl	a,r4
	jnz	00121$
	ljmp	00110$
00121$:
;	../../Common/routing.c:193: memset(b, 0, sizeof(neighbor_info_t));
	mov	ar5,r2
	mov	ar6,r3
	mov	ar7,r4
	push	ar2
	push	ar3
	push	ar4
	mov	a,#0x0F
	push	acc
	clr	a
	push	acc
	clr	a
	push	acc
	mov	dpl,r5
	mov	dph,r6
	mov	b,r7
	lcall	_memset
	dec	sp
	dec	sp
	dec	sp
	pop	ar4
	pop	ar3
	pop	ar2
;	../../Common/routing.c:194: n_neigh_buffer++;
	mov	dptr,#_n_neigh_buffer
	movx	a,@dptr
	mov	r5,a
	mov	dptr,#_n_neigh_buffer
	inc	a
	movx	@dptr,a
;	../../Common/routing.c:195: return b;
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	sjmp	00111$
00106$:
;	../../Common/routing.c:198: else if (xQueueReceive( neighbor_info, &( b ), blocktime / portTICK_RATE_MS) == pdTRUE)
	mov	r0,_bp
	inc	r0
	mov	ar2,@r0
	inc	r0
	mov	ar3,@r0
	clr	a
	mov	a,_bp
	add	a,#0x06
	mov	r0,a
	mov	@r0,ar2
	inc	r0
	mov	@r0,ar3
	mov	a,_bp
	add	a,#0x03
	mov	r4,a
	mov	r5,#0x00
	mov	r6,#0x40
	mov	dptr,#_neighbor_info
	movx	a,@dptr
	mov	r7,a
	inc	dptr
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
	mov	a,_bp
	add	a,#0x06
	mov	r0,a
	mov	a,@r0
	push	acc
	inc	r0
	mov	a,@r0
	push	acc
	push	ar4
	push	ar5
	push	ar6
	mov	dpl,r7
	mov	dph,r2
	mov	b,r3
	lcall	_xQueueReceive
	mov	r2,dpl
	mov	a,sp
	add	a,#0xfb
	mov	sp,a
	cjne	r2,#0x01,00110$
;	../../Common/routing.c:200: return b;
	mov	r0,_bp
	inc	r0
	inc	r0
	inc	r0
	mov	dpl,@r0
	inc	r0
	mov	dph,@r0
	inc	r0
	mov	b,@r0
	sjmp	00111$
00110$:
;	../../Common/routing.c:202: return 0;
	mov	dptr,#0x0000
	mov	b,#0x00
00111$:
	mov	sp,_bp
	pop	_bp
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'neigh_buffer_free'
;------------------------------------------------------------
;b                         Allocated to stack - offset 1
;------------------------------------------------------------
;	../../Common/routing.c:210: void neigh_buffer_free( neighbor_info_t *b )
;	-----------------------------------------
;	 function neigh_buffer_free
;	-----------------------------------------
_neigh_buffer_free:
	push	_bp
	mov	_bp,sp
	push	dpl
	push	dph
	push	b
;	../../Common/routing.c:212: b->last_lqi  =	0;
	mov	r0,_bp
	inc	r0
	mov	ar2,@r0
	inc	r0
	mov	ar3,@r0
	inc	r0
	mov	ar4,@r0
	mov	a,#0x0B
	add	a,r2
	mov	r5,a
	clr	a
	addc	a,r3
	mov	r6,a
	mov	ar7,r4
	mov	dpl,r5
	mov	dph,r6
	mov	b,r7
	clr	a
	lcall	__gptrput
;	../../Common/routing.c:213: b->last_sqn  =    0;
	mov	a,#0x0C
	add	a,r2
	mov	r5,a
	clr	a
	addc	a,r3
	mov	r6,a
	mov	ar7,r4
	mov	dpl,r5
	mov	dph,r6
	mov	b,r7
	clr	a
	lcall	__gptrput
;	../../Common/routing.c:214: b->child_dev =	0;
	mov	a,#0x0E
	add	a,r2
	mov	r5,a
	clr	a
	addc	a,r3
	mov	r6,a
	mov	ar7,r4
	mov	dpl,r5
	mov	dph,r6
	mov	b,r7
	clr	a
	lcall	__gptrput
;	../../Common/routing.c:215: b->type	   =	0;
	mov	a,#0x0A
	add	a,r2
	mov	r2,a
	clr	a
	addc	a,r3
	mov	r3,a
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	clr	a
	lcall	__gptrput
;	../../Common/routing.c:216: xQueueSend( neighbor_info, ( void * ) &b, ( portTickType ) 0 );
	mov	r2,_bp
	inc	r2
	mov	r3,#0x00
	mov	r4,#0x40
	mov	dptr,#_neighbor_info
	movx	a,@dptr
	mov	r5,a
	inc	dptr
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
	clr	a
	push	acc
	push	acc
	push	ar2
	push	ar3
	push	ar4
	mov	dpl,r5
	mov	dph,r6
	mov	b,r7
	lcall	_xQueueSend
	mov	a,sp
	add	a,#0xfb
	mov	sp,a
	mov	sp,_bp
	pop	_bp
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'update_neighbour_table'
;------------------------------------------------------------
;address                   Allocated to stack - offset -5
;last_lqi                  Allocated to stack - offset -6
;last_sqn                  Allocated to stack - offset -7
;type                      Allocated to stack - offset 1
;i                         Allocated to stack - offset 2
;j                         Allocated to stack - offset 3
;tmp_8                     Allocated to stack - offset 4
;sqn_check                 Allocated to stack - offset 5
;length                    Allocated to stack - offset 6
;delivery_mode             Allocated to stack - offset 7
;sloc0                     Allocated to stack - offset 8
;sloc1                     Allocated to stack - offset 8
;sloc2                     Allocated to stack - offset 9
;sloc3                     Allocated to stack - offset 11
;------------------------------------------------------------
;	../../Common/routing.c:232: uint8_t update_neighbour_table(addrtype_t type, address_t address, uint8_t last_lqi, uint8_t last_sqn)
;	-----------------------------------------
;	 function update_neighbour_table
;	-----------------------------------------
_update_neighbour_table:
	push	_bp
	mov	_bp,sp
	push	dpl
	mov	a,sp
	add	a,#0x0c
	mov	sp,a
;	../../Common/routing.c:234: uint8_t i,j,tmp_8=0, sqn_check=0, length=0;
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	mov	@r0,#0x00
	mov	a,_bp
	add	a,#0x06
	mov	r0,a
	mov	@r0,#0x00
;	../../Common/routing.c:238: if( xSemaphoreTake( table_lock, ( portTickType ) 10 ) == pdTRUE )
	mov	dptr,#_table_lock
	movx	a,@dptr
	mov	r5,a
	inc	dptr
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
	mov	a,#0x0A
	push	acc
	clr	a
	push	acc
	clr	a
	push	acc
	push	acc
	push	acc
	mov	dpl,r5
	mov	dph,r6
	mov	b,r7
	lcall	_xQueueReceive
	mov	r5,dpl
	mov	a,sp
	add	a,#0xfb
	mov	sp,a
	cjne	r5,#0x01,00163$
	sjmp	00164$
00163$:
	ljmp	00126$
00164$:
;	../../Common/routing.c:240: if(type==ADDR_802_15_4_PAN_LONG)
	mov	r0,_bp
	inc	r0
	clr	a
	cjne	@r0,#0x04,00165$
	inc	a
00165$:
	mov	r5,a
	jz	00102$
;	../../Common/routing.c:245: length=8;					
	mov	a,_bp
	add	a,#0x06
	mov	r0,a
	mov	@r0,#0x08
00102$:
;	../../Common/routing.c:248: if(type == ADDR_802_15_4_PAN_SHORT)
	mov	r0,_bp
	inc	r0
	mov	a,_bp
	add	a,#0x08
	mov	r1,a
	clr	a
	cjne	@r0,#0x03,00168$
	inc	a
00168$:
	mov	@r1,a
	mov	a,_bp
	add	a,#0x08
	mov	r0,a
	mov	a,@r0
	jz	00104$
;	../../Common/routing.c:250: length=4;
	mov	a,_bp
	add	a,#0x06
	mov	r0,a
	mov	@r0,#0x04
00104$:
;	../../Common/routing.c:252: delivery_mode = NOT_NEIGHBOR;
	mov	a,_bp
	add	a,#0x07
	mov	r0,a
	mov	@r0,#0x02
;	../../Common/routing.c:253: if(neighbor_table.count > 0)
	mov	dptr,#_neighbor_table
	movx	a,@dptr
	jnz	00171$
	ljmp	00117$
00171$:
;	../../Common/routing.c:255: for(i=0; i < neighbor_table.count ; i++)
	mov	r0,_bp
	inc	r0
	inc	r0
	mov	@r0,#0x00
00131$:
	push	ar5
	mov	dptr,#_neighbor_table
	movx	a,@dptr
	mov	r5,a
	mov	r0,_bp
	inc	r0
	inc	r0
	clr	c
	mov	a,@r0
	subb	a,r5
	pop	ar5
	jc	00172$
	ljmp	00117$
00172$:
;	../../Common/routing.c:257: if(neighbor_table.neighbor_info[i] && (type == neighbor_table.neighbor_info[i]->type))
	mov	r0,_bp
	inc	r0
	inc	r0
	mov	a,@r0
	mov	b,#0x03
	mul	ab
	mov	r4,a
	add	a,#(_neighbor_table + 0x0002)
	mov	dpl,a
	clr	a
	addc	a,#((_neighbor_table + 0x0002) >> 8)
	mov	dph,a
	movx	a,@dptr
	mov	r7,a
	inc	dptr
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
	mov	a,r7
	orl	a,r2
	orl	a,r3
	jnz	00173$
	ljmp	00133$
00173$:
	mov	a,r4
	add	a,#(_neighbor_table + 0x0002)
	mov	dpl,a
	clr	a
	addc	a,#((_neighbor_table + 0x0002) >> 8)
	mov	dph,a
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
	mov	a,#0x0A
	add	a,r2
	mov	r2,a
	clr	a
	addc	a,r3
	mov	r3,a
	mov	dpl,r2
	mov	dph,r3
	mov	b,r7
	lcall	__gptrget
	mov	r2,a
	mov	r0,_bp
	inc	r0
	mov	a,@r0
	cjne	a,ar2,00174$
	sjmp	00175$
00174$:
	ljmp	00133$
00175$:
;	../../Common/routing.c:259: if(memcmp(neighbor_table.neighbor_info[i]->address, address,length) == 0)
	push	ar5
	mov	a,_bp
	add	a,#0x06
	mov	r0,a
	mov	ar2,@r0
	mov	r3,#0x00
	mov	a,r4
	add	a,#(_neighbor_table + 0x0002)
	mov	dpl,a
	clr	a
	addc	a,#((_neighbor_table + 0x0002) >> 8)
	mov	dph,a
	movx	a,@dptr
	mov	r7,a
	inc	dptr
	movx	a,@dptr
	mov	r5,a
	inc	dptr
	movx	a,@dptr
	mov	r4,a
	push	ar5
	push	ar2
	push	ar3
	mov	a,_bp
	add	a,#0xfb
	mov	r0,a
	mov	a,@r0
	push	acc
	inc	r0
	mov	a,@r0
	push	acc
	inc	r0
	mov	a,@r0
	push	acc
	mov	dpl,r7
	mov	dph,r5
	mov	b,r4
	lcall	_memcmp
	mov	r2,dpl
	mov	r3,dph
	mov	a,sp
	add	a,#0xfb
	mov	sp,a
	pop	ar5
	pop	ar5
	mov	a,r2
	orl	a,r3
	jnz	00106$
;	../../Common/routing.c:261: delivery_mode = NEIGHBOR;
	mov	a,_bp
	add	a,#0x07
	mov	r0,a
	mov	@r0,#0x01
00106$:
;	../../Common/routing.c:264: if( delivery_mode == NEIGHBOR )
	mov	a,_bp
	add	a,#0x07
	mov	r0,a
	cjne	@r0,#0x01,00177$
	sjmp	00178$
00177$:
	ljmp	00133$
00178$:
;	../../Common/routing.c:267: if(type != ADDR_802_15_4_PAN_SHORT)
	mov	a,_bp
	add	a,#0x08
	mov	r0,a
	mov	a,@r0
	jz	00179$
	ljmp	00108$
00179$:
;	../../Common/routing.c:269: for(j=0; j<2; j++)
	mov	r0,_bp
	inc	r0
	inc	r0
	mov	a,@r0
	mov	b,#0x03
	mul	ab
	push	acc
	mov	a,_bp
	add	a,#0x09
	mov	r0,a
	pop	acc
	add	a,#(_neighbor_table + 0x0002)
	mov	@r0,a
	clr	a
	addc	a,#((_neighbor_table + 0x0002) >> 8)
	inc	r0
	mov	@r0,a
	mov	r0,_bp
	inc	r0
	inc	r0
	inc	r0
	mov	@r0,#0x00
00127$:
	mov	r0,_bp
	inc	r0
	inc	r0
	inc	r0
	cjne	@r0,#0x02,00180$
00180$:
	jnc	00108$
;	../../Common/routing.c:271: neighbor_table.neighbor_info[i]->address[length+j] = address[length+j];
	push	ar5
	mov	a,_bp
	add	a,#0x09
	mov	r0,a
	mov	dpl,@r0
	inc	r0
	mov	dph,@r0
	movx	a,@dptr
	mov	r7,a
	inc	dptr
	movx	a,@dptr
	mov	r5,a
	inc	dptr
	movx	a,@dptr
	mov	r4,a
	mov	a,_bp
	add	a,#0x06
	mov	r0,a
	mov	r1,_bp
	inc	r1
	inc	r1
	inc	r1
	mov	a,@r1
	add	a,@r0
	add	a,r7
	mov	r7,a
	clr	a
	addc	a,r5
	mov	r5,a
	mov	a,_bp
	add	a,#0x06
	mov	r0,a
	mov	a,_bp
	add	a,#0x0b
	mov	r1,a
	mov	a,@r0
	mov	@r1,a
	inc	r1
	mov	@r1,#0x00
	mov	r0,_bp
	inc	r0
	inc	r0
	inc	r0
	mov	ar3,@r0
	mov	r2,#0x00
	mov	a,_bp
	add	a,#0x0b
	mov	r0,a
	mov	a,r3
	add	a,@r0
	mov	r3,a
	mov	a,r2
	inc	r0
	addc	a,@r0
	mov	r2,a
	mov	a,_bp
	add	a,#0xfb
	mov	r0,a
	mov	a,r3
	add	a,@r0
	mov	r3,a
	mov	a,r2
	inc	r0
	addc	a,@r0
	mov	r2,a
	inc	r0
	mov	ar6,@r0
	mov	dpl,r3
	mov	dph,r2
	mov	b,r6
	lcall	__gptrget
	mov	r3,a
	mov	dpl,r7
	mov	dph,r5
	mov	b,r4
	lcall	__gptrput
;	../../Common/routing.c:269: for(j=0; j<2; j++)
	mov	r0,_bp
	inc	r0
	inc	r0
	inc	r0
	inc	@r0
	pop	ar5
	ljmp	00127$
00108$:
;	../../Common/routing.c:276: if(neighbor_table.neighbor_info[i]->last_sqn != last_sqn)
	mov	r0,_bp
	inc	r0
	inc	r0
	mov	a,@r0
	mov	b,#0x03
	mul	ab
	mov	r2,a
	add	a,#(_neighbor_table + 0x0002)
	mov	dpl,a
	clr	a
	addc	a,#((_neighbor_table + 0x0002) >> 8)
	mov	dph,a
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r4,a
	inc	dptr
	movx	a,@dptr
	mov	r6,a
	mov	a,#0x0C
	add	a,r3
	mov	r3,a
	clr	a
	addc	a,r4
	mov	r4,a
	mov	dpl,r3
	mov	dph,r4
	mov	b,r6
	lcall	__gptrget
	mov	r3,a
	mov	a,_bp
	add	a,#0xf9
	mov	r0,a
	mov	a,@r0
	cjne	a,ar3,00182$
	sjmp	00110$
00182$:
;	../../Common/routing.c:278: neighbor_table.neighbor_info[i]->last_sqn = last_sqn;
	mov	a,r2
	add	a,#(_neighbor_table + 0x0002)
	mov	dpl,a
	clr	a
	addc	a,#((_neighbor_table + 0x0002) >> 8)
	mov	dph,a
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r4,a
	mov	a,#0x0C
	add	a,r2
	mov	r2,a
	clr	a
	addc	a,r3
	mov	r3,a
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	mov	a,_bp
	add	a,#0xf9
	mov	r0,a
	mov	a,@r0
	lcall	__gptrput
;	../../Common/routing.c:279: sqn_check=1;
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	mov	@r0,#0x01
00110$:
;	../../Common/routing.c:281: neighbor_table.neighbor_info[i]->last_lqi = last_lqi;
	push	ar5
	mov	r0,_bp
	inc	r0
	inc	r0
	mov	a,@r0
	mov	b,#0x03
	mul	ab
	add	a,#(_neighbor_table + 0x0002)
	mov	dpl,a
	clr	a
	addc	a,#((_neighbor_table + 0x0002) >> 8)
	mov	dph,a
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r4,a
	mov	a,#0x0B
	add	a,r2
	mov	r6,a
	clr	a
	addc	a,r3
	mov	r7,a
	mov	ar5,r4
	mov	dpl,r6
	mov	dph,r7
	mov	b,r5
	mov	a,_bp
	add	a,#0xfa
	mov	r0,a
	mov	a,@r0
	lcall	__gptrput
;	../../Common/routing.c:288: neighbor_table.neighbor_info[i]->ttl=TTL;
	mov	a,#0x0D
	add	a,r2
	mov	r2,a
	clr	a
	addc	a,r3
	mov	r3,a
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	mov	a,#0x0F
	lcall	__gptrput
;	../../Common/routing.c:290: i=(neighbor_table.count);
	mov	dptr,#_neighbor_table
	movx	a,@dptr
	mov	r2,a
	mov	r0,_bp
	inc	r0
	inc	r0
	mov	@r0,ar2
;	../../Common/routing.c:364: return sqn_check;
	pop	ar5
;	../../Common/routing.c:290: i=(neighbor_table.count);
00133$:
;	../../Common/routing.c:255: for(i=0; i < neighbor_table.count ; i++)
	mov	r0,_bp
	inc	r0
	inc	r0
	inc	@r0
	ljmp	00131$
00117$:
;	../../Common/routing.c:296: if((delivery_mode == NOT_NEIGHBOR) && neighbor_table.count < MAX_NEIGHBOR_COUNT)
	mov	a,_bp
	add	a,#0x07
	mov	r0,a
	cjne	@r0,#0x02,00183$
	sjmp	00184$
00183$:
	ljmp	00123$
00184$:
	mov	dptr,#_neighbor_table
	movx	a,@dptr
	mov	r2,a
	cjne	r2,#0x14,00185$
00185$:
	jc	00186$
	ljmp	00123$
00186$:
;	../../Common/routing.c:298: tmp_8=neighbor_table.count;
	push	ar5
	mov	a,_bp
	add	a,#0x04
	mov	r0,a
	mov	@r0,ar2
;	../../Common/routing.c:299: neighbor_table.neighbor_info[tmp_8] = neigh_buffer_get(2);
	mov	a,_bp
	add	a,#0x04
	mov	r0,a
	mov	a,@r0
	mov	b,#0x03
	mul	ab
	add	a,#(_neighbor_table + 0x0002)
	mov	r3,a
	clr	a
	addc	a,#((_neighbor_table + 0x0002) >> 8)
	mov	r4,a
	mov	dptr,#0x0002
	push	ar3
	push	ar4
	lcall	_neigh_buffer_get
	mov	r6,dpl
	mov	r7,dph
	mov	r5,b
	pop	ar4
	pop	ar3
	mov	dpl,r3
	mov	dph,r4
	mov	a,r6
	movx	@dptr,a
	inc	dptr
	mov	a,r7
	movx	@dptr,a
	inc	dptr
	mov	a,r5
	movx	@dptr,a
;	../../Common/routing.c:300: if(neighbor_table.neighbor_info[tmp_8])
	mov	a,_bp
	add	a,#0x04
	mov	r0,a
	mov	a,_bp
	add	a,#0x0b
	mov	r1,a
	mov	a,@r0
	mov	b,#0x03
	mul	ab
	mov	@r1,a
	mov	a,_bp
	add	a,#0x0b
	mov	r0,a
	mov	a,@r0
	add	a,#(_neighbor_table + 0x0002)
	mov	dpl,a
	clr	a
	addc	a,#((_neighbor_table + 0x0002) >> 8)
	mov	dph,a
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r4,a
	inc	dptr
	movx	a,@dptr
	mov	r5,a
	mov	a,r3
	orl	a,r4
	orl	a,r5
	pop	ar5
	jnz	00187$
	ljmp	00123$
00187$:
;	../../Common/routing.c:322: if(type==ADDR_802_15_4_PAN_LONG)
	mov	a,r5
	jz	00160$
;	../../Common/routing.c:324: length+=2;
	mov	a,_bp
	add	a,#0x06
	mov	r0,a
	inc	@r0
	inc	@r0
;	../../Common/routing.c:326: for(j=0; j < length ; j++)
00160$:
	mov	a,_bp
	add	a,#0x0b
	mov	r0,a
	mov	a,_bp
	add	a,#0x09
	mov	r1,a
	mov	a,@r0
	add	a,#(_neighbor_table + 0x0002)
	mov	@r1,a
	clr	a
	addc	a,#((_neighbor_table + 0x0002) >> 8)
	inc	r1
	mov	@r1,a
	mov	r0,_bp
	inc	r0
	inc	r0
	inc	r0
	mov	@r0,#0x00
00135$:
	mov	r0,_bp
	inc	r0
	inc	r0
	inc	r0
	mov	a,_bp
	add	a,#0x06
	mov	r1,a
	clr	c
	mov	a,@r0
	subb	a,@r1
	jnc	00138$
;	../../Common/routing.c:328: neighbor_table.neighbor_info[tmp_8]->address[j] = address[j];
	mov	a,_bp
	add	a,#0x09
	mov	r0,a
	mov	dpl,@r0
	inc	r0
	mov	dph,@r0
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
	inc	dptr
	movx	a,@dptr
	mov	r2,a
	mov	r0,_bp
	inc	r0
	inc	r0
	inc	r0
	mov	a,@r0
	add	a,r6
	mov	r6,a
	clr	a
	addc	a,r7
	mov	r7,a
	mov	a,_bp
	add	a,#0xfb
	mov	r0,a
	mov	r1,_bp
	inc	r1
	inc	r1
	inc	r1
	mov	a,@r1
	add	a,@r0
	mov	r5,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r3,a
	inc	r0
	mov	ar4,@r0
	mov	dpl,r5
	mov	dph,r3
	mov	b,r4
	lcall	__gptrget
	mov	r5,a
	mov	dpl,r6
	mov	dph,r7
	mov	b,r2
	lcall	__gptrput
;	../../Common/routing.c:326: for(j=0; j < length ; j++)
	mov	r0,_bp
	inc	r0
	inc	r0
	inc	r0
	inc	@r0
	sjmp	00135$
00138$:
;	../../Common/routing.c:336: neighbor_table.neighbor_info[tmp_8]->last_lqi  =	last_lqi;
	mov	a,_bp
	add	a,#0x0b
	mov	r0,a
	mov	a,@r0
	add	a,#(_neighbor_table + 0x0002)
	mov	dpl,a
	clr	a
	addc	a,#((_neighbor_table + 0x0002) >> 8)
	mov	dph,a
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r4,a
	inc	dptr
	movx	a,@dptr
	mov	r5,a
	mov	a,#0x0B
	add	a,r3
	mov	r6,a
	clr	a
	addc	a,r4
	mov	r7,a
	mov	ar2,r5
	mov	dpl,r6
	mov	dph,r7
	mov	b,r2
	mov	a,_bp
	add	a,#0xfa
	mov	r0,a
	mov	a,@r0
	lcall	__gptrput
;	../../Common/routing.c:337: neighbor_table.neighbor_info[tmp_8]->last_sqn  =    last_sqn;
	mov	a,#0x0C
	add	a,r3
	mov	r2,a
	clr	a
	addc	a,r4
	mov	r6,a
	mov	ar7,r5
	mov	dpl,r2
	mov	dph,r6
	mov	b,r7
	mov	a,_bp
	add	a,#0xf9
	mov	r0,a
	mov	a,@r0
	lcall	__gptrput
;	../../Common/routing.c:338: neighbor_table.neighbor_info[tmp_8]->child_dev =	0;
	mov	a,#0x0E
	add	a,r3
	mov	r2,a
	clr	a
	addc	a,r4
	mov	r6,a
	mov	ar7,r5
	mov	dpl,r2
	mov	dph,r6
	mov	b,r7
	clr	a
	lcall	__gptrput
;	../../Common/routing.c:339: sqn_check=1;
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	mov	@r0,#0x01
;	../../Common/routing.c:350: neighbor_table.neighbor_info[tmp_8]->ttl=TTL;
	mov	a,#0x0D
	add	a,r3
	mov	r2,a
	clr	a
	addc	a,r4
	mov	r6,a
	mov	ar7,r5
	mov	dpl,r2
	mov	dph,r6
	mov	b,r7
	mov	a,#0x0F
	lcall	__gptrput
;	../../Common/routing.c:352: neighbor_table.neighbor_info[tmp_8]->type = type;
	mov	a,#0x0A
	add	a,r3
	mov	r3,a
	clr	a
	addc	a,r4
	mov	r4,a
	mov	dpl,r3
	mov	dph,r4
	mov	b,r5
	mov	r0,_bp
	inc	r0
	mov	a,@r0
	lcall	__gptrput
;	../../Common/routing.c:354: tmp_8++;
	mov	a,_bp
	add	a,#0x04
	mov	r0,a
	inc	@r0
;	../../Common/routing.c:355: neighbor_table.count = tmp_8;
	mov	dptr,#_neighbor_table
	mov	a,_bp
	add	a,#0x04
	mov	r0,a
	mov	a,@r0
	movx	@dptr,a
;	../../Common/routing.c:359: delivery_mode = NEW_NEIGHBOR;
00123$:
;	../../Common/routing.c:362: free_table_semaphore();
	lcall	_free_table_semaphore
00126$:
;	../../Common/routing.c:364: return sqn_check;
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	mov	dpl,@r0
	mov	sp,_bp
	pop	_bp
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'update_tables_ttl'
;------------------------------------------------------------
;address                   Allocated to stack - offset -5
;type                      Allocated to registers r2 
;i                         Allocated to stack - offset 1
;length                    Allocated to stack - offset 2
;final_length              Allocated to registers 
;------------------------------------------------------------
;	../../Common/routing.c:373: void update_tables_ttl(addrtype_t type, address_t address)
;	-----------------------------------------
;	 function update_tables_ttl
;	-----------------------------------------
_update_tables_ttl:
	push	_bp
	mov	_bp,sp
	inc	sp
	inc	sp
	mov	r2,dpl
;	../../Common/routing.c:375: uint8_t i, length=0, final_length=0;
	mov	r0,_bp
	inc	r0
	inc	r0
	mov	@r0,#0x00
;	../../Common/routing.c:376: if( xSemaphoreTake( table_lock, ( portTickType ) 10 ) == pdTRUE )
	mov	dptr,#_table_lock
	movx	a,@dptr
	mov	r4,a
	inc	dptr
	movx	a,@dptr
	mov	r5,a
	inc	dptr
	movx	a,@dptr
	mov	r6,a
	push	ar2
	mov	a,#0x0A
	push	acc
	clr	a
	push	acc
	clr	a
	push	acc
	push	acc
	push	acc
	mov	dpl,r4
	mov	dph,r5
	mov	b,r6
	lcall	_xQueueReceive
	mov	r4,dpl
	mov	a,sp
	add	a,#0xfb
	mov	sp,a
	pop	ar2
	cjne	r4,#0x01,00129$
	sjmp	00130$
00129$:
	ljmp	00118$
00130$:
;	../../Common/routing.c:378: if(type==ADDR_802_15_4_PAN_LONG)
	cjne	r2,#0x04,00102$
;	../../Common/routing.c:384: length=8;
	mov	r0,_bp
	inc	r0
	inc	r0
	mov	@r0,#0x08
;	../../Common/routing.c:385: final_length =10;					
00102$:
;	../../Common/routing.c:388: if(type == ADDR_802_15_4_PAN_SHORT)
	cjne	r2,#0x03,00104$
;	../../Common/routing.c:390: length=4;
	mov	r0,_bp
	inc	r0
	inc	r0
	mov	@r0,#0x04
;	../../Common/routing.c:391: final_length=4;
00104$:
;	../../Common/routing.c:394: if(neighbor_table.count > 0)
	mov	dptr,#_neighbor_table
	movx	a,@dptr
	jnz	00135$
	ljmp	00111$
00135$:
;	../../Common/routing.c:396: for(i=0; i < neighbor_table.count ; i++)
	mov	r0,_bp
	inc	r0
	mov	@r0,#0x00
00114$:
	mov	dptr,#_neighbor_table
	movx	a,@dptr
	mov	r5,a
	mov	r0,_bp
	inc	r0
	clr	c
	mov	a,@r0
	subb	a,r5
	jc	00136$
	ljmp	00111$
00136$:
;	../../Common/routing.c:398: if(neighbor_table.neighbor_info[i] && (type == neighbor_table.neighbor_info[i]->type))
	mov	r0,_bp
	inc	r0
	mov	a,@r0
	mov	b,#0x03
	mul	ab
	mov	r5,a
	add	a,#(_neighbor_table + 0x0002)
	mov	dpl,a
	clr	a
	addc	a,#((_neighbor_table + 0x0002) >> 8)
	mov	dph,a
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
	mov	a,r6
	orl	a,r7
	orl	a,r3
	jnz	00137$
	ljmp	00116$
00137$:
	mov	a,r5
	add	a,#(_neighbor_table + 0x0002)
	mov	dpl,a
	clr	a
	addc	a,#((_neighbor_table + 0x0002) >> 8)
	mov	dph,a
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
	mov	a,#0x0A
	add	a,r3
	mov	r3,a
	clr	a
	addc	a,r6
	mov	r6,a
	mov	dpl,r3
	mov	dph,r6
	mov	b,r7
	lcall	__gptrget
	mov	r3,a
	mov	a,r2
	cjne	a,ar3,00138$
	sjmp	00139$
00138$:
	ljmp	00116$
00139$:
;	../../Common/routing.c:400: if(memcmp(neighbor_table.neighbor_info[i]->address, address,length) == 0)
	push	ar2
	mov	r0,_bp
	inc	r0
	inc	r0
	mov	ar3,@r0
	mov	r6,#0x00
	mov	a,r5
	add	a,#(_neighbor_table + 0x0002)
	mov	dpl,a
	clr	a
	addc	a,#((_neighbor_table + 0x0002) >> 8)
	mov	dph,a
	movx	a,@dptr
	mov	r7,a
	inc	dptr
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r4,a
	push	ar5
	push	ar3
	push	ar6
	mov	a,_bp
	add	a,#0xfb
	mov	r0,a
	mov	a,@r0
	push	acc
	inc	r0
	mov	a,@r0
	push	acc
	inc	r0
	mov	a,@r0
	push	acc
	mov	dpl,r7
	mov	dph,r2
	mov	b,r4
	lcall	_memcmp
	mov	r2,dpl
	mov	r3,dph
	mov	a,sp
	add	a,#0xfb
	mov	sp,a
	pop	ar5
	mov	a,r2
	orl	a,r3
	pop	ar2
	jnz	00116$
;	../../Common/routing.c:408: neighbor_table.neighbor_info[i]->ttl=TTL;
	mov	a,r5
	add	a,#(_neighbor_table + 0x0002)
	mov	dpl,a
	clr	a
	addc	a,#((_neighbor_table + 0x0002) >> 8)
	mov	dph,a
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r4,a
	inc	dptr
	movx	a,@dptr
	mov	r5,a
	mov	a,#0x0D
	add	a,r3
	mov	r3,a
	clr	a
	addc	a,r4
	mov	r4,a
	mov	dpl,r3
	mov	dph,r4
	mov	b,r5
	mov	a,#0x0F
	lcall	__gptrput
;	../../Common/routing.c:410: i=(neighbor_table.count);
	mov	dptr,#_neighbor_table
	movx	a,@dptr
	mov	r3,a
	mov	r0,_bp
	inc	r0
	mov	@r0,ar3
00116$:
;	../../Common/routing.c:396: for(i=0; i < neighbor_table.count ; i++)
	mov	r0,_bp
	inc	r0
	inc	@r0
	ljmp	00114$
00111$:
;	../../Common/routing.c:431: free_table_semaphore();
	lcall	_free_table_semaphore
00118$:
	mov	sp,_bp
	pop	_bp
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'check_neighbour_table'
;------------------------------------------------------------
;address                   Allocated to stack - offset -5
;type                      Allocated to stack - offset 1
;i                         Allocated to registers r3 
;j                         Allocated to stack - offset 2
;broadcast                 Allocated to registers r3 
;length                    Allocated to stack - offset 3
;temp                      Allocated to registers r6 
;delivery_mode             Allocated to stack - offset 4
;sloc0                     Allocated to stack - offset 5
;sloc1                     Allocated to stack - offset 10
;------------------------------------------------------------
;	../../Common/routing.c:450: dest_delivery_t check_neighbour_table(addrtype_t type, address_t address)
;	-----------------------------------------
;	 function check_neighbour_table
;	-----------------------------------------
_check_neighbour_table:
	push	_bp
	mov	_bp,sp
	push	dpl
	mov	a,sp
	add	a,#0x06
	mov	sp,a
;	../../Common/routing.c:452: uint8_t i,j, broadcast=1, length;
	mov	r3,#0x01
;	../../Common/routing.c:454: dest_delivery_t delivery_mode = NOT_NEIGHBOR;
	mov	a,_bp
	add	a,#0x04
	mov	r0,a
	mov	@r0,#0x02
;	../../Common/routing.c:455: if( xSemaphoreTake( table_lock, ( portTickType ) 10 ) == pdTRUE )
	mov	dptr,#_table_lock
	movx	a,@dptr
	mov	r5,a
	inc	dptr
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
	push	ar3
	mov	a,#0x0A
	push	acc
	clr	a
	push	acc
	clr	a
	push	acc
	push	acc
	push	acc
	mov	dpl,r5
	mov	dph,r6
	mov	b,r7
	lcall	_xQueueReceive
	mov	r5,dpl
	mov	a,sp
	add	a,#0xfb
	mov	sp,a
	pop	ar3
	cjne	r5,#0x01,00144$
	sjmp	00145$
00144$:
	ljmp	00119$
00145$:
;	../../Common/routing.c:457: switch (type)
	mov	r0,_bp
	inc	r0
	cjne	@r0,#0x03,00146$
	sjmp	00101$
00146$:
	mov	r0,_bp
	inc	r0
;	../../Common/routing.c:459: case ADDR_802_15_4_PAN_SHORT:		
	cjne	@r0,#0x04,00103$
	sjmp	00102$
00101$:
;	../../Common/routing.c:461: length=2;
	mov	r0,_bp
	inc	r0
	inc	r0
	inc	r0
	mov	@r0,#0x02
;	../../Common/routing.c:462: temp = ADDR_SHORT;
	mov	r6,#0x05
;	../../Common/routing.c:463: break;
;	../../Common/routing.c:464: case ADDR_802_15_4_PAN_LONG:
	sjmp	00104$
00102$:
;	../../Common/routing.c:465: length=8;
	mov	r0,_bp
	inc	r0
	inc	r0
	inc	r0
	mov	@r0,#0x08
;	../../Common/routing.c:466: temp = type;
	mov	r0,_bp
	inc	r0
	mov	ar6,@r0
;	../../Common/routing.c:467: break;
;	../../Common/routing.c:468: default:
	sjmp	00104$
00103$:
;	../../Common/routing.c:472: return NO_SUPPORT;
	mov	dpl,#0x04
	ljmp	00128$
;	../../Common/routing.c:474: }
00104$:
;	../../Common/routing.c:476: if(stack_check_broadcast(address, temp) != pdTRUE)
	push	ar3
	push	ar6
	mov	a,_bp
	add	a,#0xfb
	mov	r0,a
	mov	dpl,@r0
	inc	r0
	mov	dph,@r0
	inc	r0
	mov	b,@r0
	lcall	_stack_check_broadcast
	mov	r6,dpl
	dec	sp
	pop	ar3
	cjne	r6,#0x01,00148$
	sjmp	00106$
00148$:
;	../../Common/routing.c:478: broadcast = 0;
	mov	r3,#0x00
00106$:
;	../../Common/routing.c:481: if(broadcast == 0)
	mov	a,r3
	jz	00149$
	ljmp	00116$
00149$:
;	../../Common/routing.c:483: if(neighbor_table.count > 0)
	mov	dptr,#_neighbor_table
	movx	a,@dptr
	jnz	00150$
	ljmp	00113$
00150$:
;	../../Common/routing.c:485: for(i=0; i < neighbor_table.count ; i++)
	mov	r3,#0x00
00124$:
	mov	dptr,#_neighbor_table
	movx	a,@dptr
	mov	r6,a
	clr	c
	mov	a,r3
	subb	a,r6
	jc	00151$
	ljmp	00117$
00151$:
;	../../Common/routing.c:487: if(neighbor_table.neighbor_info[i] && (neighbor_table.neighbor_info[i]->type == type))
	mov	a,r3
	mov	b,#0x03
	mul	ab
	mov	r6,a
	add	a,#(_neighbor_table + 0x0002)
	mov	dpl,a
	clr	a
	addc	a,#((_neighbor_table + 0x0002) >> 8)
	mov	dph,a
	movx	a,@dptr
	mov	r7,a
	inc	dptr
	movx	a,@dptr
	mov	r4,a
	inc	dptr
	movx	a,@dptr
	mov	r2,a
	mov	a,r7
	orl	a,r4
	orl	a,r2
	jnz	00152$
	ljmp	00126$
00152$:
	mov	a,r6
	add	a,#(_neighbor_table + 0x0002)
	mov	dpl,a
	clr	a
	addc	a,#((_neighbor_table + 0x0002) >> 8)
	mov	dph,a
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r4,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
	mov	a,#0x0A
	add	a,r2
	mov	r2,a
	clr	a
	addc	a,r4
	mov	r4,a
	mov	dpl,r2
	mov	dph,r4
	mov	b,r7
	lcall	__gptrget
	mov	r2,a
	mov	r0,_bp
	inc	r0
	mov	a,@r0
	cjne	a,ar2,00153$
	sjmp	00154$
00153$:
	ljmp	00126$
00154$:
;	../../Common/routing.c:489: if(memcmp(neighbor_table.neighbor_info[i]->address, address,length) == 0)
	push	ar3
	mov	r0,_bp
	inc	r0
	inc	r0
	inc	r0
	mov	ar2,@r0
	mov	r4,#0x00
	mov	a,r6
	add	a,#(_neighbor_table + 0x0002)
	mov	dpl,a
	clr	a
	addc	a,#((_neighbor_table + 0x0002) >> 8)
	mov	dph,a
	movx	a,@dptr
	mov	r7,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r5,a
	push	ar6
	push	ar2
	push	ar4
	mov	a,_bp
	add	a,#0xfb
	mov	r0,a
	mov	a,@r0
	push	acc
	inc	r0
	mov	a,@r0
	push	acc
	inc	r0
	mov	a,@r0
	push	acc
	mov	dpl,r7
	mov	dph,r3
	mov	b,r5
	lcall	_memcmp
	mov	r2,dpl
	mov	r3,dph
	mov	a,sp
	add	a,#0xfb
	mov	sp,a
	pop	ar6
	mov	a,r2
	orl	a,r3
	pop	ar3
	jz	00155$
	ljmp	00126$
00155$:
;	../../Common/routing.c:491: delivery_mode = NEIGHBOR;
	mov	a,_bp
	add	a,#0x04
	mov	r0,a
	mov	@r0,#0x01
;	../../Common/routing.c:492: for(j=0; j<2; j++)
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	mov	a,r6
	add	a,#(_neighbor_table + 0x0002)
	mov	@r0,a
	clr	a
	addc	a,#((_neighbor_table + 0x0002) >> 8)
	inc	r0
	mov	@r0,a
	mov	r0,_bp
	inc	r0
	inc	r0
	mov	@r0,#0x00
00120$:
	mov	r0,_bp
	inc	r0
	inc	r0
	cjne	@r0,#0x02,00156$
00156$:
	jnc	00123$
;	../../Common/routing.c:494: address[length+j] = neighbor_table.neighbor_info[i]->address[length+j];
	mov	r0,_bp
	inc	r0
	inc	r0
	inc	r0
	mov	ar6,@r0
	mov	r7,#0x00
	mov	r0,_bp
	inc	r0
	inc	r0
	mov	ar5,@r0
	mov	r2,#0x00
	mov	a,r5
	add	a,r6
	mov	r6,a
	mov	a,r2
	addc	a,r7
	mov	r7,a
	mov	a,_bp
	add	a,#0xfb
	mov	r0,a
	mov	a,r6
	add	a,@r0
	mov	r6,a
	mov	a,r7
	inc	r0
	addc	a,@r0
	mov	r3,a
	inc	r0
	mov	ar7,@r0
	mov	a,_bp
	add	a,#0x05
	mov	r0,a
	mov	dpl,@r0
	inc	r0
	mov	dph,@r0
	movx	a,@dptr
	mov	r4,a
	inc	dptr
	movx	a,@dptr
	mov	r5,a
	inc	dptr
	movx	a,@dptr
	mov	r2,a
	mov	r0,_bp
	inc	r0
	inc	r0
	inc	r0
	mov	r1,_bp
	inc	r1
	inc	r1
	mov	a,@r1
	add	a,@r0
	add	a,r4
	mov	r4,a
	clr	a
	addc	a,r5
	mov	r5,a
	mov	dpl,r4
	mov	dph,r5
	mov	b,r2
	lcall	__gptrget
	mov	r4,a
	mov	dpl,r6
	mov	dph,r3
	mov	b,r7
	lcall	__gptrput
;	../../Common/routing.c:492: for(j=0; j<2; j++)
	mov	r0,_bp
	inc	r0
	inc	r0
	inc	@r0
	sjmp	00120$
00123$:
;	../../Common/routing.c:496: i=neighbor_table.count;
	mov	dptr,#_neighbor_table
	movx	a,@dptr
	mov	r2,a
	mov	ar3,r2
00126$:
;	../../Common/routing.c:485: for(i=0; i < neighbor_table.count ; i++)
	inc	r3
	ljmp	00124$
00113$:
;	../../Common/routing.c:503: delivery_mode = NOT_NEIGHBOR;
	mov	a,_bp
	add	a,#0x04
	mov	r0,a
	mov	@r0,#0x02
	sjmp	00117$
00116$:
;	../../Common/routing.c:508: delivery_mode = BROADCAST;
	mov	a,_bp
	add	a,#0x04
	mov	r0,a
	mov	@r0,#0x00
00117$:
;	../../Common/routing.c:510: free_table_semaphore();
	lcall	_free_table_semaphore
00119$:
;	../../Common/routing.c:512: return delivery_mode;	
	mov	a,_bp
	add	a,#0x04
	mov	r0,a
	mov	dpl,@r0
00128$:
	mov	sp,_bp
	pop	_bp
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'check_tables_status'
;------------------------------------------------------------
;unused_parameter          Allocated to registers 
;i                         Allocated to stack - offset 1
;temp                      Allocated to stack - offset 2
;minus_count               Allocated to stack - offset 3
;temp_index                Allocated to registers r4 
;t                         Allocated to stack - offset 4
;------------------------------------------------------------
;	../../Common/routing.c:972: void check_tables_status(void *unused_parameter)
;	-----------------------------------------
;	 function check_tables_status
;	-----------------------------------------
_check_tables_status:
	push	_bp
	mov	a,sp
	mov	_bp,a
	add	a,#0x04
	mov	sp,a
;	../../Common/routing.c:975: if( xSemaphoreTake( table_lock, ( portTickType ) 10 ) == pdTRUE )
	mov	dptr,#_table_lock
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r4,a
	mov	a,#0x0A
	push	acc
	clr	a
	push	acc
	clr	a
	push	acc
	push	acc
	push	acc
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	lcall	_xQueueReceive
	mov	r2,dpl
	mov	a,sp
	add	a,#0xfb
	mov	sp,a
	cjne	r2,#0x01,00131$
	sjmp	00132$
00131$:
	ljmp	00119$
00132$:
;	../../Common/routing.c:977: if(neighbor_table.count)
	mov	dptr,#_neighbor_table
	movx	a,@dptr
	mov	r2,a
	jnz	00133$
	ljmp	00112$
00133$:
;	../../Common/routing.c:979: temp=neighbor_table.count;
	mov	r0,_bp
	inc	r0
	inc	r0
	mov	@r0,ar2
;	../../Common/routing.c:981: for(i=0; i < temp; i++)
	mov	r0,_bp
	inc	r0
	inc	r0
	inc	r0
	mov	@r0,#0x00
	mov	r4,#0x00
	mov	r0,_bp
	inc	r0
	mov	@r0,#0x00
00115$:
	mov	r0,_bp
	inc	r0
	mov	r1,_bp
	inc	r1
	inc	r1
	clr	c
	mov	a,@r0
	subb	a,@r1
	jc	00134$
	ljmp	00118$
00134$:
;	../../Common/routing.c:983: if(neighbor_table.neighbor_info[temp_index]->ttl > 1)
	mov	a,r4
	mov	b,#0x03
	mul	ab
	mov	r6,a
	add	a,#(_neighbor_table + 0x0002)
	mov	dpl,a
	clr	a
	addc	a,#((_neighbor_table + 0x0002) >> 8)
	mov	dph,a
	movx	a,@dptr
	mov	r7,a
	inc	dptr
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
	mov	a,#0x0D
	add	a,r7
	mov	r7,a
	clr	a
	addc	a,r2
	mov	r2,a
	mov	dpl,r7
	mov	dph,r2
	mov	b,r3
	lcall	__gptrget
	mov  r7,a
	add	a,#0xff - 0x01
	jnc	00107$
;	../../Common/routing.c:985: neighbor_table.neighbor_info[temp_index]->ttl--;
	mov	a,r6
	add	a,#(_neighbor_table + 0x0002)
	mov	dpl,a
	clr	a
	addc	a,#((_neighbor_table + 0x0002) >> 8)
	mov	dph,a
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
	inc	dptr
	movx	a,@dptr
	mov	r2,a
	mov	a,#0x0D
	add	a,r3
	mov	r3,a
	clr	a
	addc	a,r7
	mov	r7,a
	mov	dpl,r3
	mov	dph,r7
	mov	b,r2
	lcall	__gptrget
	mov	r5,a
	dec	r5
	mov	dpl,r3
	mov	dph,r7
	mov	b,r2
	mov	a,r5
	lcall	__gptrput
;	../../Common/routing.c:986: temp_index++;
	inc	r4
	ljmp	00117$
00107$:
;	../../Common/routing.c:990: if(neighbor_table.neighbor_info[temp_index]->child_dev)
	mov	a,r6
	add	a,#(_neighbor_table + 0x0002)
	mov	dpl,a
	clr	a
	addc	a,#((_neighbor_table + 0x0002) >> 8)
	mov	dph,a
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r5,a
	inc	dptr
	movx	a,@dptr
	mov	r6,a
	mov	a,#0x0E
	add	a,r3
	mov	r3,a
	clr	a
	addc	a,r5
	mov	r5,a
	mov	dpl,r3
	mov	dph,r5
	mov	b,r6
	lcall	__gptrget
	jz	00102$
;	../../Common/routing.c:992: neighbor_table.child_count--;
	mov	dptr,#(_neighbor_table + 0x0001)
	movx	a,@dptr
	mov	r3,a
	dec	r3
	mov	dptr,#(_neighbor_table + 0x0001)
	mov	a,r3
	movx	@dptr,a
00102$:
;	../../Common/routing.c:994: neigh_buffer_free(neighbor_table.neighbor_info[temp_index]);
	mov	a,r4
	mov	b,#0x03
	mul	ab
	mov	r3,a
	add	a,#(_neighbor_table + 0x0002)
	mov	dpl,a
	clr	a
	addc	a,#((_neighbor_table + 0x0002) >> 8)
	mov	dph,a
	movx	a,@dptr
	mov	r5,a
	inc	dptr
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
	mov	dpl,r5
	mov	dph,r6
	mov	b,r7
	push	ar3
	push	ar4
	lcall	_neigh_buffer_free
	pop	ar4
	pop	ar3
;	../../Common/routing.c:995: neighbor_table.neighbor_info[temp_index]=0;
	mov	a,r3
	add	a,#(_neighbor_table + 0x0002)
	mov	dpl,a
	clr	a
	addc	a,#((_neighbor_table + 0x0002) >> 8)
	mov	dph,a
	clr	a
	movx	@dptr,a
;	../../Common/routing.c:996: minus_count++;
	mov	r0,_bp
	inc	r0
	inc	r0
	inc	r0
	inc	@r0
;	../../Common/routing.c:998: t++;
	mov	r0,_bp
	inc	r0
	mov	a,_bp
	add	a,#0x04
	mov	r1,a
	mov	a,@r0
	inc	a
	mov	@r1,a
;	../../Common/routing.c:999: if(neighbor_table.neighbor_info[t] && t < neighbor_table.count)
	mov	a,_bp
	add	a,#0x04
	mov	r0,a
	mov	a,@r0
	mov	b,#0x03
	mul	ab
	mov	r6,a
	add	a,#(_neighbor_table + 0x0002)
	mov	dpl,a
	clr	a
	addc	a,#((_neighbor_table + 0x0002) >> 8)
	mov	dph,a
	movx	a,@dptr
	mov	r7,a
	inc	dptr
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r5,a
	mov	a,r7
	orl	a,r2
	orl	a,r5
	jz	00117$
	mov	dptr,#_neighbor_table
	movx	a,@dptr
	mov	r2,a
	mov	a,_bp
	add	a,#0x04
	mov	r0,a
	clr	c
	mov	a,@r0
	subb	a,r2
	jnc	00117$
;	../../Common/routing.c:1002: neighbor_table.neighbor_info[temp_index] = (neighbor_info_t*)neighbor_table.neighbor_info[t];
	mov	a,r3
	add	a,#(_neighbor_table + 0x0002)
	mov	r3,a
	clr	a
	addc	a,#((_neighbor_table + 0x0002) >> 8)
	mov	r2,a
	mov	a,r6
	add	a,#(_neighbor_table + 0x0002)
	mov	dpl,a
	clr	a
	addc	a,#((_neighbor_table + 0x0002) >> 8)
	mov	dph,a
	movx	a,@dptr
	mov	r5,a
	inc	dptr
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
	mov	dpl,r3
	mov	dph,r2
	mov	a,r5
	movx	@dptr,a
	inc	dptr
	mov	a,r6
	movx	@dptr,a
	inc	dptr
	mov	a,r7
	movx	@dptr,a
00117$:
;	../../Common/routing.c:981: for(i=0; i < temp; i++)
	mov	r0,_bp
	inc	r0
	inc	@r0
	ljmp	00115$
00118$:
;	../../Common/routing.c:1006: if(minus_count)
	mov	r0,_bp
	inc	r0
	inc	r0
	inc	r0
	mov	a,@r0
	jz	00112$
;	../../Common/routing.c:1008: neighbor_table.count -= minus_count;
	mov	dptr,#_neighbor_table
	movx	a,@dptr
	mov	r2,a
	mov	r0,_bp
	inc	r0
	inc	r0
	inc	r0
	mov	a,r2
	clr	c
	subb	a,@r0
	mov	r2,a
	mov	dptr,#_neighbor_table
	movx	@dptr,a
00112$:
;	../../Common/routing.c:1044: free_table_semaphore();
	lcall	_free_table_semaphore
00119$:
	mov	sp,_bp
	pop	_bp
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'print_table_information'
;------------------------------------------------------------
;i                         Allocated to registers r2 
;j                         Allocated to registers r4 
;------------------------------------------------------------
;	../../Common/routing.c:1052: void print_table_information(void)
;	-----------------------------------------
;	 function print_table_information
;	-----------------------------------------
_print_table_information:
;	../../Common/routing.c:1054: if( xSemaphoreTake( table_lock, ( portTickType ) 10 ) == pdTRUE )
	mov	dptr,#_table_lock
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r4,a
	mov	a,#0x0A
	push	acc
	clr	a
	push	acc
	clr	a
	push	acc
	push	acc
	push	acc
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	lcall	_xQueueReceive
	mov	r2,dpl
	mov	a,sp
	add	a,#0xfb
	mov	sp,a
	cjne	r2,#0x01,00163$
	sjmp	00164$
00163$:
	ret
00164$:
;	../../Common/routing.c:1058: if(neighbor_table.count)
	mov	dptr,#_neighbor_table
	movx	a,@dptr
	jnz	00165$
	ljmp	00114$
00165$:
;	../../Common/routing.c:1060: debug("Neighbor Info count:");
	mov	dptr,#__str_0
	lcall	_debug_constant
;	../../Common/routing.c:1061: debug_hex(neighbor_table.count);
	mov	dptr,#_neighbor_table
	movx	a,@dptr
	mov	r2,a
	mov	r3,#0x00
	push	ar2
	push	ar3
	mov	a,#0x10
	push	acc
	mov	dpl,#0x02
	lcall	_debug_integer
	dec	sp
	dec	sp
	dec	sp
;	../../Common/routing.c:1062: debug("\r\n");
	mov	dptr,#__str_1
	lcall	_debug_constant
;	../../Common/routing.c:1063: debug("Child count:");
	mov	dptr,#__str_2
	lcall	_debug_constant
;	../../Common/routing.c:1064: debug_hex(neighbor_table.child_count);
	mov	dptr,#(_neighbor_table + 0x0001)
	movx	a,@dptr
	mov	r2,a
	mov	r3,#0x00
	push	ar2
	push	ar3
	mov	a,#0x10
	push	acc
	mov	dpl,#0x02
	lcall	_debug_integer
	dec	sp
	dec	sp
	dec	sp
;	../../Common/routing.c:1065: debug("\r\n");
	mov	dptr,#__str_1
	lcall	_debug_constant
;	../../Common/routing.c:1066: for(i=0; i < neighbor_table.count; i++)
	mov	r2,#0x00
00134$:
	mov	dptr,#_neighbor_table
	movx	a,@dptr
	mov	r3,a
	clr	c
	mov	a,r2
	subb	a,r3
	jc	00166$
	ljmp	00115$
00166$:
;	../../Common/routing.c:1068: if(neighbor_table.neighbor_info[i]->type== ADDR_802_15_4_PAN_LONG)
	mov	a,r2
	mov	b,#0x03
	mul	ab
	mov	r3,a
	add	a,#(_neighbor_table + 0x0002)
	mov	dpl,a
	clr	a
	addc	a,#((_neighbor_table + 0x0002) >> 8)
	mov	dph,a
	movx	a,@dptr
	mov	r4,a
	inc	dptr
	movx	a,@dptr
	mov	r5,a
	inc	dptr
	movx	a,@dptr
	mov	r6,a
	mov	a,#0x0A
	add	a,r4
	mov	r4,a
	clr	a
	addc	a,r5
	mov	r5,a
	mov	dpl,r4
	mov	dph,r5
	mov	b,r6
	lcall	__gptrget
	mov	r4,a
	cjne	r4,#0x04,00167$
	sjmp	00168$
00167$:
	ljmp	00106$
00168$:
;	../../Common/routing.c:1070: debug("Long:  ");
	mov	dptr,#__str_3
	push	ar2
	push	ar3
	lcall	_debug_constant
	pop	ar3
	pop	ar2
;	../../Common/routing.c:1071: for(j=0; j < 2 ; j++)
	mov	r4,#0x00
00118$:
	cjne	r4,#0x02,00169$
00169$:
	jnc	00121$
;	../../Common/routing.c:1073: if (j) debug_put(':');
	mov	a,r4
	jz	00102$
	mov	dpl,#0x3A
	push	ar2
	push	ar3
	push	ar4
	lcall	_debug_put
	pop	ar4
	pop	ar3
	pop	ar2
00102$:
;	../../Common/routing.c:1074: debug_hex( neighbor_table.neighbor_info[i]->address[3-j]);
	mov	a,r3
	add	a,#(_neighbor_table + 0x0002)
	mov	dpl,a
	clr	a
	addc	a,#((_neighbor_table + 0x0002) >> 8)
	mov	dph,a
	movx	a,@dptr
	mov	r5,a
	inc	dptr
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
	mov	a,#0x03
	clr	c
	subb	a,r4
	add	a,r5
	mov	r5,a
	clr	a
	addc	a,r6
	mov	r6,a
	mov	dpl,r5
	mov	dph,r6
	mov	b,r7
	lcall	__gptrget
	mov	r5,a
	mov	r6,#0x00
	push	ar2
	push	ar3
	push	ar4
	push	ar5
	push	ar6
	mov	a,#0x10
	push	acc
	mov	dpl,#0x02
	lcall	_debug_integer
	dec	sp
	dec	sp
	dec	sp
	pop	ar4
	pop	ar3
	pop	ar2
;	../../Common/routing.c:1071: for(j=0; j < 2 ; j++)
	inc	r4
	sjmp	00118$
00121$:
;	../../Common/routing.c:1076: debug("  ");
	mov	dptr,#__str_4
	push	ar2
	lcall	_debug_constant
	pop	ar2
;	../../Common/routing.c:1077: for(j=0; j < 2 ; j++)
	mov	a,r2
	mov	b,#0x03
	mul	ab
	mov	r3,a
	mov	r4,#0x00
00122$:
	cjne	r4,#0x02,00172$
00172$:
	jnc	00106$
;	../../Common/routing.c:1079: if (j) debug_put(':');
	mov	a,r4
	jz	00104$
	mov	dpl,#0x3A
	push	ar2
	push	ar3
	push	ar4
	lcall	_debug_put
	pop	ar4
	pop	ar3
	pop	ar2
00104$:
;	../../Common/routing.c:1080: debug_hex( neighbor_table.neighbor_info[i]->address[1-j]);
	mov	a,r3
	add	a,#(_neighbor_table + 0x0002)
	mov	dpl,a
	clr	a
	addc	a,#((_neighbor_table + 0x0002) >> 8)
	mov	dph,a
	movx	a,@dptr
	mov	r5,a
	inc	dptr
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
	mov	a,#0x01
	clr	c
	subb	a,r4
	add	a,r5
	mov	r5,a
	clr	a
	addc	a,r6
	mov	r6,a
	mov	dpl,r5
	mov	dph,r6
	mov	b,r7
	lcall	__gptrget
	mov	r5,a
	mov	r6,#0x00
	push	ar2
	push	ar3
	push	ar4
	push	ar5
	push	ar6
	mov	a,#0x10
	push	acc
	mov	dpl,#0x02
	lcall	_debug_integer
	dec	sp
	dec	sp
	dec	sp
	pop	ar4
	pop	ar3
	pop	ar2
;	../../Common/routing.c:1077: for(j=0; j < 2 ; j++)
	inc	r4
	sjmp	00122$
00106$:
;	../../Common/routing.c:1084: if(neighbor_table.neighbor_info[i]->type == ADDR_802_15_4_PAN_SHORT)
	mov	a,r2
	mov	b,#0x03
	mul	ab
	mov	r3,a
	add	a,#(_neighbor_table + 0x0002)
	mov	dpl,a
	clr	a
	addc	a,#((_neighbor_table + 0x0002) >> 8)
	mov	dph,a
	movx	a,@dptr
	mov	r4,a
	inc	dptr
	movx	a,@dptr
	mov	r5,a
	inc	dptr
	movx	a,@dptr
	mov	r6,a
	mov	a,#0x0A
	add	a,r4
	mov	r4,a
	clr	a
	addc	a,r5
	mov	r5,a
	mov	dpl,r4
	mov	dph,r5
	mov	b,r6
	lcall	__gptrget
	mov	r4,a
	cjne	r4,#0x03,00175$
	sjmp	00176$
00175$:
	ljmp	00112$
00176$:
;	../../Common/routing.c:1086: debug("Short:  ");
	mov	dptr,#__str_5
	push	ar2
	push	ar3
	lcall	_debug_constant
	pop	ar3
	pop	ar2
;	../../Common/routing.c:1087: for(j=0; j < 2 ; j++)
	mov	r4,#0x00
00126$:
	cjne	r4,#0x02,00177$
00177$:
	jnc	00129$
;	../../Common/routing.c:1089: if (j) debug_put(':');
	mov	a,r4
	jz	00108$
	mov	dpl,#0x3A
	push	ar2
	push	ar3
	push	ar4
	lcall	_debug_put
	pop	ar4
	pop	ar3
	pop	ar2
00108$:
;	../../Common/routing.c:1090: debug_hex( neighbor_table.neighbor_info[i]->address[3-j]);
	mov	a,r3
	add	a,#(_neighbor_table + 0x0002)
	mov	dpl,a
	clr	a
	addc	a,#((_neighbor_table + 0x0002) >> 8)
	mov	dph,a
	movx	a,@dptr
	mov	r5,a
	inc	dptr
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
	mov	a,#0x03
	clr	c
	subb	a,r4
	add	a,r5
	mov	r5,a
	clr	a
	addc	a,r6
	mov	r6,a
	mov	dpl,r5
	mov	dph,r6
	mov	b,r7
	lcall	__gptrget
	mov	r5,a
	mov	r6,#0x00
	push	ar2
	push	ar3
	push	ar4
	push	ar5
	push	ar6
	mov	a,#0x10
	push	acc
	mov	dpl,#0x02
	lcall	_debug_integer
	dec	sp
	dec	sp
	dec	sp
	pop	ar4
	pop	ar3
	pop	ar2
;	../../Common/routing.c:1087: for(j=0; j < 2 ; j++)
	inc	r4
	sjmp	00126$
00129$:
;	../../Common/routing.c:1092: debug("  ");
	mov	dptr,#__str_4
	push	ar2
	lcall	_debug_constant
	pop	ar2
;	../../Common/routing.c:1093: for(j=0; j < 2 ; j++)
	mov	a,r2
	mov	b,#0x03
	mul	ab
	mov	r3,a
	mov	r4,#0x00
00130$:
	cjne	r4,#0x02,00180$
00180$:
	jnc	00112$
;	../../Common/routing.c:1095: if (j) debug_put(':');
	mov	a,r4
	jz	00110$
	mov	dpl,#0x3A
	push	ar2
	push	ar3
	push	ar4
	lcall	_debug_put
	pop	ar4
	pop	ar3
	pop	ar2
00110$:
;	../../Common/routing.c:1096: debug_hex( neighbor_table.neighbor_info[i]->address[1-j]);
	mov	a,r3
	add	a,#(_neighbor_table + 0x0002)
	mov	dpl,a
	clr	a
	addc	a,#((_neighbor_table + 0x0002) >> 8)
	mov	dph,a
	movx	a,@dptr
	mov	r5,a
	inc	dptr
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
	mov	a,#0x01
	clr	c
	subb	a,r4
	add	a,r5
	mov	r5,a
	clr	a
	addc	a,r6
	mov	r6,a
	mov	dpl,r5
	mov	dph,r6
	mov	b,r7
	lcall	__gptrget
	mov	r5,a
	mov	r6,#0x00
	push	ar2
	push	ar3
	push	ar4
	push	ar5
	push	ar6
	mov	a,#0x10
	push	acc
	mov	dpl,#0x02
	lcall	_debug_integer
	dec	sp
	dec	sp
	dec	sp
	pop	ar4
	pop	ar3
	pop	ar2
;	../../Common/routing.c:1093: for(j=0; j < 2 ; j++)
	inc	r4
	sjmp	00130$
00112$:
;	../../Common/routing.c:1099: debug("\r\nlast_lqi: ");
	mov	dptr,#__str_6
	push	ar2
	lcall	_debug_constant
	pop	ar2
;	../../Common/routing.c:1100: debug_hex(neighbor_table.neighbor_info[i]->last_lqi);
	mov	a,r2
	mov	b,#0x03
	mul	ab
	mov	r3,a
	add	a,#(_neighbor_table + 0x0002)
	mov	dpl,a
	clr	a
	addc	a,#((_neighbor_table + 0x0002) >> 8)
	mov	dph,a
	movx	a,@dptr
	mov	r4,a
	inc	dptr
	movx	a,@dptr
	mov	r5,a
	inc	dptr
	movx	a,@dptr
	mov	r6,a
	mov	a,#0x0B
	add	a,r4
	mov	r4,a
	clr	a
	addc	a,r5
	mov	r5,a
	mov	dpl,r4
	mov	dph,r5
	mov	b,r6
	lcall	__gptrget
	mov	r4,a
	mov	r5,#0x00
	push	ar2
	push	ar3
	push	ar4
	push	ar5
	mov	a,#0x10
	push	acc
	mov	dpl,#0x02
	lcall	_debug_integer
	dec	sp
	dec	sp
	dec	sp
;	../../Common/routing.c:1101: debug("\r\nTTL: ");
	mov	dptr,#__str_7
	lcall	_debug_constant
	pop	ar3
;	../../Common/routing.c:1102: debug_hex(neighbor_table.neighbor_info[i]->ttl);
	mov	a,r3
	add	a,#(_neighbor_table + 0x0002)
	mov	dpl,a
	clr	a
	addc	a,#((_neighbor_table + 0x0002) >> 8)
	mov	dph,a
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r4,a
	inc	dptr
	movx	a,@dptr
	mov	r5,a
	mov	a,#0x0D
	add	a,r3
	mov	r3,a
	clr	a
	addc	a,r4
	mov	r4,a
	mov	dpl,r3
	mov	dph,r4
	mov	b,r5
	lcall	__gptrget
	mov	r3,a
	mov	r4,#0x00
	push	ar3
	push	ar4
	mov	a,#0x10
	push	acc
	mov	dpl,#0x02
	lcall	_debug_integer
	dec	sp
	dec	sp
	dec	sp
;	../../Common/routing.c:1103: debug("\r\n");
	mov	dptr,#__str_1
	lcall	_debug_constant
	pop	ar2
;	../../Common/routing.c:1066: for(i=0; i < neighbor_table.count; i++)
	inc	r2
	ljmp	00134$
00114$:
;	../../Common/routing.c:1108: debug("No Neighbor info\r\n");
	mov	dptr,#__str_8
	lcall	_debug_constant
00115$:
;	../../Common/routing.c:1164: debug("Routing disable\r\n");
	mov	dptr,#__str_9
	lcall	_debug_constant
;	../../Common/routing.c:1167: free_table_semaphore();
	ljmp	_free_table_semaphore
	.area CSEG    (CODE)
	.area CONST   (CODE)
__str_0:
	.ascii "Neighbor Info count:"
	.db 0x00
__str_1:
	.db 0x0D
	.db 0x0A
	.db 0x00
__str_2:
	.ascii "Child count:"
	.db 0x00
__str_3:
	.ascii "Long:  "
	.db 0x00
__str_4:
	.ascii "  "
	.db 0x00
__str_5:
	.ascii "Short:  "
	.db 0x00
__str_6:
	.db 0x0D
	.db 0x0A
	.ascii "last_lqi: "
	.db 0x00
__str_7:
	.db 0x0D
	.db 0x0A
	.ascii "TTL: "
	.db 0x00
__str_8:
	.ascii "No Neighbor info"
	.db 0x0D
	.db 0x0A
	.db 0x00
__str_9:
	.ascii "Routing disable"
	.db 0x0D
	.db 0x0A
	.db 0x00
	.area XINIT   (CODE)
__xinit__table_lock:
; generic printIvalPtr
	.byte #0x00,#0x00,#0x00
__xinit__n_neigh_buffer:
	.db #0x00
	.area CABS    (ABS,CODE)
